#include <iostream>
#include <SDL/SDL.h>
#include <SDL/SDL_ttf.h>
#include "pantalla.h"
#include "factoryImage.h"
#include "logger.h"
#include "jugador.h"
#include "socket.h"


#define IP_SERVIDOR "127.0.0.1"
#define PUERTO 50000

int main() {
	Socket socketCliente(IP_SERVIDOR, PUERTO);
	//ImagenCliente imagenCliente;
	Jugador jugador;
	Pantalla pantalla;
	string nombreJugador;
	int idJugador;

	//Ingreso del nombre del jugador
	cout << "Ingrese su nombre: ";
	cin >> nombreJugador;

	//Seteo nombre del jugador
	jugador.setNombreJugador(nombreJugador);

	//Creo el socket
	if(!socketCliente.createSocket()) {
		cerr << "Error al crear socket" << endl;
		exit(1);
	}

	if(!socketCliente.connectToHost()) {
		cerr << "Error al conectar al servidor" << endl;
		exit(1);
	}

	socketCliente.sendMessage(nombreJugador.c_str(),sizeof(nombreJugador.c_str()),0);

	//Obtenemos el ID del jugador
	socketCliente.receiveMessage((void *)&idJugador, sizeof(idJugador), 0);
	jugador.setIdJugador(idJugador);

	//TODO: Realizar una validacion del mensaje recibido.

	socketCliente.closeSocket();

	//Creamos pantalla
	pantalla.iniciar(510, 510);

	FactoryImage::crear("back_green.bmp");
	//imagenCliente.cargarImagenes();

}
